package com.open.system.dispatch;

import com.open.base.model.User;
import com.open.common.model.Page;
import com.open.system.model.dto.PassWordDto;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 用户信息
 *
 * @author 大树03
 * @date 2025-02-01 22:47
 */
public interface IUserDispatch{
	/**
	 * 添加对象
	 * @param model
	 * @return boolean
	 * @
	 * @date 2025-02-01 22:47
	 */
	Boolean save(User model) ;

	/**
	 * 修改对象
	 * @param model
	 * @return boolean
	 * @
	 * @date 2025-02-01 22:47
	 */
	Boolean update(User model) ;

	/**
	 * 根据条件查询
	 *
	 * @return
	 * @
	 */
	List<User> findByModel(User model) ;

	/**
	 * 根据主键查询 
	 * @param pk 主键
	 * @return User 
	 * @
	 * @date 2025-02-01 22:47
	 */
	User findByPk(Long pk) ;

	/**
	 * 分页查询
	 *
	 * @param page
	 * @param model
	 * @return
	 * @
	 */
	Page<User> findPage(Page<User> page, User model) ;

	/**
	 * 根据主键删除 
	 * @param ids 主键
	 * @return boolean
	 * @
	 * @date 2025-02-01 22:47
	 */
	Boolean remove(List<Long> ids) ;

	Boolean resetPwd(PassWordDto pwd);

	/**
	 * 导入用户数据
	 *
	 * @param file 文件
	 * @return 导入结果
	 */
	com.open.system.model.dto.ImportResultDto importData(MultipartFile file);
}